python append后排序(用循环)?

作者&投稿:言舒 (若有异议请与网页底部的电邮联系)
python中的append()中的问题,当我选择2增加之后,循环回到开始,再选择1,发现列表的元素还是没有增加?~


你把框里面这一部分放到while的外面,因为你底下number.append之后,下一次循环你又给number=[1,2]重新赋值了,其它的name、age、gender也一样,都被重新赋值了,所以不会变化。

按照你的要求编写的Python程序如下
(因为字符串才有count函数所以要把数字转换成字符串)
(另外,101010010中只有一个101所以运行结果最后一个值为1)
l1=[10,101]
l2=[[100010010],[101010010]]
l3=[]
for n in l2:
l4=[]
for m in l1:
num=str(n).count(str(m))
l4.append(num)
l3.append(l4)
print(l3)
源代码(注意源代码的缩进)


直接打开交互模式试一试:

kevin@kevin-Rev-1-0:~$ python

Python 2.7.18 (default, Mar  8 2021, 13:02:45) 

[GCC 9.3.0] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> print(40-13)

27

>>> A = [91,95,97,99]

>>> B = [92,93,96,98]

>>> A.extend(B)

>>> A

[91, 95, 97, 99, 92, 93, 96, 98]

>>> A.sort()

>>> A

[91, 92, 93, 95, 96, 97, 98, 99]

>>>

看截图



1、
合并不能用A.append(B),应该用A.extend(B)
2、
排序可以直接用A.sort()。
如果非要自己排序,可以用通用的排序算法。
如:
冒泡排序、选择排序、插入排序、快速排序、堆排序、归并排序、希尔排序等。




加格达奇区18564216853: python中list添加append元素有顺序吗
鄹尝利力: 有 List 是 Python 中常用的数据类型,它一个有序集合,即其中的元素始终保持着初始时的定义的顺序(除非你对它们进行排序或其他修改操作). 在Python中,向List添加元素,方法有如下4种方法(append(),extend(),insert(), +加号...

加格达奇区18564216853: 求一个简单的Python给数字排序代码 -
鄹尝利力: 简单排序的话,直接使用 list.sort() 就可以了,直接在原列表上进行排序. 非要写成函数的形式的话,代码如下1 2 3 4 5 6 7 8 9defABC(nums_l):nums_l.sort()returnnums_l l =[1,2,5,3,4] # 其实,使用 l.sort() 之后,就对l进行了排序,然...

加格达奇区18564216853: 想问下python字典排序 怎么才能先按照值大小降序排列 若值相同 再按照键的字母顺序排呢???? -
鄹尝利力: 你好!d = {'a': 3, 'c': 4, 'b': 3, 'd': 2, 'f': 4, 'e': 2} result = {} keys = sorted(d, key=lambda k: d[k]) print d print keys for k in keys: result[k]=d[k] print result 如果对你有帮助,望采纳.

加格达奇区18564216853: 谁能用python帮我写一个小程序,让用户输入任意9个数字,然后输出排序后的结果. -
鄹尝利力: a=input('请输入一个用逗号隔开的九个数字:') b=[] for i in a.split(','):b.append(int(i))b.sort(reverse=False) print(b)以上代码在python 3.1中通过. 在2.6中可以将input用raw_input替代即可.

加格达奇区18564216853: python sort 排序 -
鄹尝利力: 下面是给你写的程序,用两个for循环语句进行排序,总体思路是提取new是true的先加进b这个列表中,然后再把剩下的加进去,这样b就是排序好的列表. a = [{'id':1, 'new':u'false'}, {'id':2,'new':u'true'}, {'id':3,'new':u'false'}] b = [] for i in a:if i['new'] ...

加格达奇区18564216853: 在使用Python里面list.append()方法的时候为什么最后一个元素总是取代了前面的元素? -
鄹尝利力: 你的sub_dict是在哪里定义的?看起来比较像是sub_dict定义的位置有问题 你可以试试这段代码 final_datat = [] data = [['a','a','a'],['b','b','b']] for sub_data in data :sub_dict = {}for i in range(len(sub_data)):if i == 0:sub_dict["main"] =sub_data[i] ...

加格达奇区18564216853: python编写程序对标准输入的10个整数置逆序排列并输出 -
鄹尝利力: lin1=[] for i in range(1,11):lin1.append(i) lin1.reverse() print(lin1)

加格达奇区18564216853: 有人能帮忙写个简单的按名字首字母排序python程序吗? -
鄹尝利力: #--encoding:utf-8-- def sortName(list):#保存名字和第一个字母的mapnameMap ={}#保存第一个字母并稍后进行排序nameList =[]for i in list:nameMap[i[0]] = inameList.append(i[0])nameList.sort()for i in nameList:print(nameMap[i])if __...

加格达奇区18564216853: 关于python append的用法
鄹尝利力: append是在末尾添加,指名[4]就是在第四个位置添加,没指名就添加在最后pop()小括号内没有参数默认删除最后一个然后返回最后一个最开始列表内有四个,增加一个5就变成了5个元素,然后又添加一个字符c到小列表内,此时列表为b为[1,2,3,[a,b,c],5]b.pop()又删除了最后一个元素返回这个被删除的元素值赋值到c此时c列表为[5]

加格达奇区18564216853: 用python写一个小程序,让用户输入任意9个数字,然后输出排序后的结果. -
鄹尝利力: 我只写一个函数: >>> def littleFunc():data =[] #初始化列表for i in range(9):#一个for循环num = int(raw_input("input a number please: "))#控制输入转为intdata.append(num)#放入列表data.sort()#排序print data#输出python的程序扩...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网