‘壹’ python 里 SET 的元素序列到底是什么排序原理
set是不保证顺序的,是根据hash值保存的。比如你要找一个元素,会先把值hash之后根据hash值找到对应的位置去取的
‘贰’ 关于Python的序列、列表和元组
//简明Python教程第9章数据结构(适合初学者的教程)
http://sebug.net/paper/python/ch09.html
‘叁’ python怎么生成10的幂次序列
如何用python怎么生成10的幂次序列?
该问题可以利用for循环求10的幂次序列,即
for i in range(1,10): # i 循环从1递增到10
s= 10**(i-3) #计算10的幂次值
print("10的幂次序列:",s) #显示10的幂次值
运行上述代码,得到如下结果

‘肆’ python常用序列结构
序列是python的基本数据结构,序列中的每个元素被分配一个序号即索引,索引从0开始。
序列的两种常用类型:列表和元组。
列表与元组的区别:列表可修改,元组不能修改。
通用序列操作
1、索引:索引0指向第一个元素,索引-1指向最后一个元素。
2、程序:输入年,月(1-12),日(1-31),然后打印出相应的日期的月份名称。
代码详解:months=[]:定义一个months序列。
endings=['st','nd','rd']+17*['th']\
+['st','nd','rd']+7*['th']\
+['st']:定义一个endings序列,用来表示1-31的英文缩写,1st,2nd,3rd,4-20th,21st,22nd,23rd,24-30th,31st。
代码运行输出结果:
3、分片:提取序列中的某个范围内的元素。
分片tag[9:30]:第一个索引号9是包含在分片内的,第二个索引号30则不包含在分片内。
4、如果要去序列中最后一个最后一个元素怎么办?
可以通过置空,最后一个一个索引来获取最后的元素。可以通过置空最前的索引来获取第一个元素。可以两边都置空来获取整个元素。
5、步长:
正数步长:从序列的头部开始向右提取元素,直到最后一个元素。
负数步长:从序列的尾部开始向左提取元素,直到第一个元素。
6、序列运算
序列相加:对序列进行连接操作,列表与字符串是无法连接在一起的。
序列相乘:数字x乘以一个序列会生成新的序列,即原来的序列被重复x次。
None,空列表和初始化:初始化一个长度为10的列表。
代码分析:在屏幕上打印一个由字符组成的盒子,这个盒子在屏幕上居中,而且根据用户输入的句子自动调整大小。
成员资格:in运算符,输入布尔运算符,当条件为真时返回true,为假则返回false。
以上代码在UNIX系统中,可以检查文件可写和可执行权限的脚本。
以上代码可以检查输入的用户名是否存在于用户列表中。
以上代码可以作为过滤垃圾邮件的一部分。
代码分析:查看用户输入的用户名,密码是否存在于数据库中,如果存在则打印'Access granted'
程序运行结果:
内建函数:len:返回序列中包含元素的数量,min:返回序列中最小的元素,max:返回序列中最大的元素。
‘伍’ python for循环实现序列元素求和 已知有一个列表x=[1,2,3,4.6,7.1],请用for语句来求得列表中元素的和。
#!/usr/bin/envpython
#coding:UTF-8
x=[1,2,3,4.6,7.1]
s=0
forninx:
s=s+n
print(s)
‘陆’ python 获取列表元素有几种方式,常见的是哪种
Python中列表常见的方法有哪些?
Python列表定义:按特定顺序排列的元素组成。在Python中,用方括号[]来表示列表,并用逗号来分隔其中的元素。Python列表是编程中很常见的数据类型 。
列表是一种可修改的集合类型,其元素可以是数字、string等基本类型,也可以是列表、元组、字典等集合对象,甚至可以是自定义的类型。其定义方式如下:>>> nums = [1,2,3,4]>>> type(nums)>>> print nums[1, 2, 3, 4]>>> strs = ["hello","world"]>>> print strs['hello', 'world']>>> lst = [1,"hello",False,nums,strs]>>> type(lst)>>> print lst[1, 'hello', False, [1, 2, 3, 4], ['hello', 'world']]
下面我们来看一下列表中有哪些常见的方法:count():统计某个元素在列表中出现的次数。index():从列表中找出某个值第一个匹配项的索引位置。append():在列表末尾添加新对象。extend():在列表末尾一次性追加另一个序列的多个值。insert():在列表的指定位置插入对象。pop():移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。remove():移除列表中某个值的第一个匹配项。reverse():将列表中的元素反向,不重新拷贝一个列表。reversed():将列表中的元素反向,重新拷贝一个列表。sort():将列表中的元素排序,不重新拷贝一个列表。sortd():将列表中的元素排序,重新拷贝一个列表。():浅拷贝,只是给原来的列表贴上了一个新标签,对于一个复杂对象的子对象并不会完全复制,如果有子列表,改变原来的值,新的拷贝对象也会改变。deep():深拷贝,将复杂对象的每一层复制一个单独的个体出来。就是完全拷贝。常见内置函数:max()、min()、sum()、len()、all()、any()、zip()、enumerate()由于文章篇幅有限,具体的代码,推荐大家看这篇文章:https://www.jianshu.com/p/da6e449f4c6a
‘柒’ python编程:生成含有10个元素(1~5)的序列,找到出现最多的元素
importrandom
result=[]
foriinrange(10):
result.append(random.randint(1,5))
print(result)
maxnum,maxtime=0,0
count=[0]*6
foriinresult:
count[i]+=1
ifcount[i]>maxtime:
maxnum,maxtime=i,count[i]
print("Thenum%doccursmaxtimes%d"%(maxnum,maxtime))
‘捌’ 如何用python语言表示一个序列
直接用==比较if "相等"=="相等": print(”相等")else: print("不等")
‘玖’ python怎么操作多维数组元素
在Python中,一个像这样的多维表格可以通过“序列的序列”实现。一个表格是行的序列。每一行又是独立单元格的序列。这类似于我们使用的数学记号,在数学里我们用Ai,j,而在Python里我们使用A[i][j],代表矩阵的第i行第j列。
这看起来非常像“元组的列表”(Lists of Tuples)。
“列表的列表”示例:
我们可以使用嵌套的列表推导式(list comprehension)创建一个表格。 下面的例子创建了一个“序列的序列”构成的表格,并为表格的每一个单元格赋值。
table= [ [ 0 for i in range(6) ] for j in range(6) ]
print table
for d1 in range(6):
for d2 in range(6):
table[d1][d2]= d1+d2+2
print table
123456
程序的输出结果如下:
[[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0]],
[[2, 3, 4, 5, 6, 7], [3, 4, 5, 6, 7, 8], [4, 5, 6, 7, 8, 9],
[5, 6, 7, 8, 9, 10], [6, 7, 8, 9, 10, 11], [7, 8, 9, 10, 11, 12]]
1234
这个程序做了两件事:创建了一个6 × 6的全0表格。 然后使用两枚骰子的可能组合的数值填充表格。 这并非完成此功能最有效的方式,但我们通过这个简单的例子来演示几项技术。我们仔细看一下程序的前后两部分。
程序的第一部分创建并输出了一个包含6个元素的列表,我们称之为“表格”;表格中的每一个元素都是一个包含6个0元素的列表。它使用列表推导式,对于范围从0到6的每一个j都创建对象。每一个对象都是一个0元素列表,由i变量从0到6遍历产生。初始化完成之后,打印输出二维全0表格。
推导式可以从里向外阅读,就像一个普通表达式一样。内层列表[ 0 for i in range(6) ]创建了一个包含6个0的简单列表。外层列表[ [...] for j in range(6) ]创建了这些内层列表的6个深拷贝。
程序的第2个部分对2个骰子的每一个组合进行迭代,填充表格的每一个单元格。这由两层嵌套循环实现,每一个循环迭代一个骰子。外层循环枚举第一个骰子的所有可能值d1。内层循环枚举第二个骰子d2。
更新每一个单元格时需要通过table[d1]选择每一行;这是一个包含6个值的列表。这个列表中选定的单元格通过...[d2]进行选择。我们将掷骰子的值赋给这个单元格,d1+d2+2。
其他示例:
打印出的列表的列表不太容易阅读。下面的循环会以一种更加可读的形式显示表格。
for row in table:
print row
[2, 3, 4, 5, 6, 7]
[3, 4, 5, 6, 7, 8]
[4, 5, 6, 7, 8, 9]
[5, 6, 7, 8, 9, 10]
[6, 7, 8, 9, 10, 11]
[7, 8, 9, 10, 11, 12]
12345678910111213
作为练习,读者可以试着在打印列表内容时,再打印出行和列的表头。提示一下,使用"%2d" % value字符串运算符可以打印出固定长度的数字格式。显示索引值(Explicit Index Values)。
我们接下来对骰子表格进行汇总统计,得出累计频率表。我们使用一个包含13个元素的列表(下标从0到12)表示每一个骰子值的出现频率。观察可知骰子值2在矩阵中只出现了一次,因此我们期望fq[2]的值为1。遍历矩阵中的每一个单元格,得出累计频率表。
fq= 13 * [0]
for i in range(6):
for j in range(6):
c= table[i][j]
fq[ c ] += 1
12345
使用下标i选出表格中的行,用下标j从行中选出一列,得到单元格c。然后用fq统计频率。
这看起来非常的数学和规范。
‘拾’ Python 生成100个介于0~999之间的随机数,提取序列中所有不重复元素
